bitkeeper revision 1.1194.1.1 (420fb929A6i2BgwaqAFiDYqZMrpIQg)
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Sun, 13 Feb 2005 20:31:37 +0000 (20:31 +0000)
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>
Sun, 13 Feb 2005 20:31:37 +0000 (20:31 +0000)
commit3df656413096ce00b7b827626190a7907f1b688a
tree22a9ea3227bbacd3f7235d6a496c5075d0a8682f
parentcb698d8df45b47f3c4fb843a05c2171382b7d4d1
bitkeeper revision 1.1194.1.1 (420fb929A6i2BgwaqAFiDYqZMrpIQg)

Re-organise guest_table, shadow_table and monitor_table so that
they always have the meaning their names suggest i.e. in the
hypervisor CR3 always contains monitor_table.

After updating guest_table or any of the shadow state remeber
to call update_pagetables(ed)

One side-effect of this change is that VMX guests now start off with
shadow_mode set to full_32, but actually running on the 1:1 physmap.
We don't actually call update_pagetables() until the VCPU enables
paging, hence ensuring that linear_pg_table is NULL so we bail out
early in shadow_fault if a vmx guest tries to access outside its
memory map. We'll need this for SMP VMX guests so that each VCPU can
enable paging independently.  We might need to think further about
this for guests that do IO without paging on - possibly having a
generated pseudo phys pt that the full shadow mode can translate and
shadow.

Signed-off-by: ian@xensource.com
xen/arch/x86/domain.c
xen/arch/x86/mm.c
xen/arch/x86/shadow.c
xen/arch/x86/vmx.c
xen/arch/x86/vmx_vmcs.c
xen/arch/x86/x86_32/domain_build.c
xen/arch/x86/x86_64/domain_build.c
xen/common/domain.c
xen/include/asm-x86/domain.h
xen/include/asm-x86/shadow.h